// service/pages/publishHouseInfo/publishHouseInfo.js
import http from "../../../utils/https";
Page({

  /**
   * 页面的初始数据
   */
  data: {
    formData: {
      rentAmount:null,
      leaseType:1,
      publishTime:null,
      checkinTime:undefined,
      supplementInfo:'',
      expiryDate:undefined,
      landLordId:0,
      houseId:0,
      remark:''
    },
    facilities: [],
    photos: [],
    orientationOptions: ['东', '南', '西', '北', '东南', '东北', '西南', '西北'],
    showOrientationPicker: false,
    showDatePicker: false,

    originalArray: [], // 原始对象数组
    displayArray: [],  // 用于显示的数组
    selectedItem: '', // 选中的项目
    pickerIndex: 0,   // 选中的索引
    showPickerFlag: true, // 控制picker显示

    //房屋号
    houseNumber:'',
    facilitiesId:[]
  },


  /**
   * 租金输入
   */
  onRentInput(e) {
    this.setData({
     'formData.rentAmount': e.detail.value
    });
  },

  /**
   * 租赁方式选择
   */
  onRentTypeChange(e) {
    const value = e.currentTarget.dataset.value;
    console.log(value);
    this.setData({
      'formData.leaseType': parseInt(value)
    });
  },

  bindDateChange(e) {
    console.log('picker发送选择改变，携带值为', e.detail.value)
    this.setData({
      'formData.checkinTime': e.detail.value
    })
  },
  bindexpiryDateChange(e){
    console.log('picker发送选择改变，携带值为', e.detail.value)
    this.setData({
      'formData.expiryDate': e.detail.value
    })
  },
  /**
   * 显示日期选择器
   */
  showDatePicker() {
    this.setData({
      showDatePicker: true
    });
  },

  /**
   * 隐藏日期选择器
   */
  hideDatePicker() {
    this.setData({
      showDatePicker: false
    });
  },

  /**
   * 日期选择
   */
  onDateChange(e) {
    this.setData({
      'formData.moveInDate': e.detail.value,
      showDatePicker: false
    });
  },


  /**
   * 切换设施选择
   */
  toggleFacility(e) {
    const index = e.currentTarget.dataset.index;
    const facilities = this.data.facilities;
    facilities[index].selected = !facilities[index].selected;
    this.setData({
      facilities: facilities
    });
  },

  /**
   * 描述输入
   */
  onDescriptionInput(e) {
    this.setData({
      'formData.supplementInfo': e.detail.value
    });
  },



  /**
   * 表单验证
   */
  validateForm() {
    const { rentAmount, checkinTime } = this.data.formData;
    
    if (!rentAmount) {
      wx.showToast({ title: '请输入租金', icon: 'none' });
      return false;
    }
    if (!checkinTime) {
      wx.showToast({ title: '请选择入住时间', icon: 'none' });
      return false;
    }
    
    return true;
  },

  /**
   * 提交表单
   */
  submitForm() {
    if (!this.validateForm()) {
      return;
    }
    console.log("表单的数据",this.data.formData);
    // wx.showLoading({ title: '发布中...' });
    

    const param = {
      houseRental:this.data.formData,
      facilityIds:this.data.facilitiesId
    }
    console.log("参数",param);

    http.post('houseRental/houseRental/facility',param).then(resp=>{
      console.log("发布成功");
    })
    .catch(err=>{

    })



    // 这里可以调用API提交数据
    // setTimeout(() => {
    //   wx.hideLoading();
    //   wx.showToast({
    //     title: '发布成功',
    //     icon: 'success',
    //     success: () => {
    //       setTimeout(() => {
    //         wx.navigateBack();
    //       }, 1500);
    //     }
    //   });
    // }, 2000);
  },


  checkboxChange(e) {
    console.log('checkbox发生change事件，携带value值为：', e.detail.value)

    const items = this.data.facilities
    const values = e.detail.value
    for (let i = 0, lenI = items.length; i < lenI; ++i) {
      items[i].checked = false
      for (let j = 0, lenJ = values.length; j < lenJ; ++j) {
        if (items[i].value === values[j]) {
          items[i].checked = true
          break
        }
      }
    }

    console.log(items);
    this.setData({
      items
    })
    this.setData({
      facilitiesId:e.detail.value
    })
  },

  /** 查询设施表 */

  queryFacilities(){
    http.get('system/housefacility/list').then(resp=>{
      this.setData({
        facilities:resp.rows
      })
    })
    .catch(err=>{
      console.log("请求失败",err);
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 可以接收从上一页传递的参数
    console.log('接收到的房屋id:', options.houseId);
    console.log('接收到的房屋号:', options.houseNumber);

    this.setData({
      formData:{
        houseId:options.houseId,
      },
      houseNumber:options.houseNumber
    })
    this.queryFacilities();
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})